#ifndef __Flash_H
#define __Flash_H
#include "stm32f4xx.h"
 
 
		
 typedef union {
     float d;
     uint8_t b[4];
     uint16_t h[2];
     uint32_t w;
 }DoubleFlash;


void Flash_init(void);
void saveCache(void);
     
void setCacheDecimal(uint32_t addr,float d);
void setCacheInt32(uint32_t addr,uint32_t w1);
void setCacheInt16(uint32_t addr,uint8_t i, uint16_t  h);
void setCacheInt8(uint32_t addr,uint8_t i, uint8_t  b); 
 
float getCacheDecimal(uint32_t addr);
uint32_t getCacheInt32(uint32_t addr); 
uint8_t getCacheInt8(uint32_t addr,uint8_t  index);
uint16_t getCacheInt16(uint32_t addr,uint8_t  index);
	
 
void getUid(int8_t * dir);
uint16_t getFiashSize(void );

 
#endif 
